package com.freesky.mobile.wechat.config;

import java.util.List;

import com.alibaba.fastjson2.JSON;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import lombok.Getter;
import lombok.Setter;


@Getter
@Setter
@ConfigurationProperties(prefix = "wx.cp")
public class WxCpProperties {
  /**
   * 设置企业微信的corpId
   */
  private String corpId;

  /**
   * 是否使用redis存储access token
   */
  private boolean useRedis;

  /**
   * redis 配置
   */
  private RedisConfig redisConfig;

  @Data
  public static class RedisConfig {
    /**
     * redis服务器 主机地址
     */
    private String host;

    /**
     * redis服务器 端口号
     */
    private Integer port;

    /**
     * redis服务器 密码
     */
    private String password;

    /**
     * redis 服务连接超时时间
     */
    private Integer timeout;
  }


  private List<AppConfig> appConfigs;

  @Getter
  @Setter
  public static class AppConfig {
    /**
     * 设置企业微信应用的AgentId
     */
    private Integer agentId;

    /**
     * 设置企业微信应用的Secret
     */
    private String secret;

    /**
     * 设置企业微信应用的token
     */
    private String token;

    /**
     * 设置企业微信应用的EncodingAESKey
     */
    private String aesKey;

  }

  @Override
  public String toString() {
    return JSON.toJSONString(this);
  }
}
